#ifndef CAMERA
#define CAMERA
#include "common.h"
#include "scene.h"
#include "common.h"

struct Camera{
    Camera(Vec position, Vec forward, Vec Up, Scene* scene_, int H = 100, int W = 100):
        cameraPosition(position), cameraForward(forward), H(H), W(W), scene(scene_){
        cameraLeft = Up.cross(cameraForward).normalize();
    };
    //void getPicture(int H, int W);
    void setHW(int h, int w){H = h; W = w;}

    void setRGB(int x, int y, RGB color);
    Ray emitLight(double x, double y);
    Vec cameraPosition, cameraForward, cameraLeft;
    int H, W;
    Scene *scene;
    RGB ima[1025][1025];
};

#endif // CAMERA

